perm filename DM.ME[UP,DOC]26 blob sn#543219 filedate 1980-11-05 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00008 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Introduction
C00003 00003	Use of DM Hardware
C00006 00004	Use of DM Software
C00022 00005	Use of the DM 3025 modified with the WAITS keyboard
C00039 00006	Use of DMs via TIPs
C00045 00007	Use of DMs from TENEX/TOPS20 Hosts
C00047 00008	Use of DMs from ITS Hosts
C00049 ENDMK
C⊗;
Introduction


This file, DM.ME[UP,DOC], lists some facts and procedures of interest to
SU-AI users of the Datamedia Elite 2500A display terminal equipped with
SUMEX keyboard (hereafter abbreviated "DM"), and other terminals (e.g.,
Datamedia 3025s, IMLACs) which emulate DMs.
Use of DM Hardware


When using the DM with a 300 baud modem:

(1) Connect pins 2, 3, and 7 of the DM LINE connector to pins 2, 3, and 7,
respectively, of the modem's TERMINAL connector.

(2) Switch the terminal's speed selector to 300 and dial in.

(3) To disconnect, hang up the phone.


When using the DM with an internal 150/1200 baud modem:

(1) Connect stub cable coming out of back of terminal into the terminal's
LINE connector.

(2) Plug white cable into jack at back of terminal.

(3) If your phone doesn't have a jack, remove the cover of the little box
where the wire goes into the wall and replace with the adapter provided,
creating a phone jack.

(4) Plug other end of white cable into your phone jack.

(5) If the phone has a plug, plug it into the back of the plug you just
inserted.

(6) Switch the terminal's speed selector to SEL.

(7) Push the small switch next to the speed selector to the left.

(8) Now dial SU-AI or SU-TIP (or whatever).  When the modem answers with a
tone, switch the small switch to the right and hang up the phone.

(9) To disconnect, push the BREAK key on the terminal for a few seconds
until the CD light (the top one in the column of lights below the screen)
goes out, and then push the small switch to the left and the line will be
released.  PLEASE don't forget to hit BREAK before disconnecting; if you
forget, the modem you were talking to at the computer end may think you
are still there (forever).
Use of DM Software


[Note:  If you have trouble with typeout at any time, especially if tabs
in the typeout don't seem to work, type [BREAK] P (see below for how to
type this), which will clear and refresh your screen, including setting
your DM's tab stops.  If your DM doesn't have tab stops, type the monitor
command TTY NO TABS and then type [BREAK] P.  If you have trouble with
your line editor, type [ESC] R.]

DM terminals are considered full display terminals by the system, and as
such they have virtually all the capabilities possessed by DD and III
displays except (1) keyboard and screen mapping, (2) audio switch control,
and (3) vector displaying.  In particular, the line editor, the wholine,
and the full Stanford AI Lab character set with CONTROL and META bits are
available on DMs, although a few Stanford characters must be quoted (see
below) in order to be input.

This document assumes that your terminal has an EDIT key.
It is possible to use a Datamedia which does not have an EDIT key,
although of course it is somewhat more complicated to enter the
complete SAIL character set from such a DM.  For details, read
NOEDIT.BH[UP,DOC].

To have a list of DM keyboard commands printed on the XGP, type HELP DMKEY
to the monitor and follow instructions; this can only be done on a DD or
III display since it causes XGP output which should be picked up
immediately.

Since the DM keyboard does not have keys for all of the Stanford
characters, certain characters must be typed in their ASCII CTRL form; for
example, partial-sign (∂) is ↑O and thus must be input as CTRL-O.  Also,
since the DM display does not have symbols for all the Stanford
characters, those characters that must be typed in as CTRL-something will
be displayed in a special form, namely as either BOLD-something or as
BLINKING-something.  On SU-AI DMs, CTRL-something will appear as
BOLD-something; on other DMs that have not been modified to interchange
the BLINKING and BOLD functions, CTRL-something will appear as
BLINKING-something.  For example, on SU-AI DMs partial-sign (∂ or ↑O) will
be displayed as BOLD-o; on non-modified DMs it will be BLINKING-o.  If you
have a non-modified DM and don't like blinking (you won't), then type TTY
NO BOLD or use the NOBOLD LOGIN option.  The XGP printout made by HELP
DMKEY lists the correspondences between Stanford AI Lab characters and
their ASCII CTRL representation.

Here is a summary of what you have to type to get certain effects:

    To get [ESC], type [NUL].  Most DD-type [ESC] commands work on DMs.
    To get [BREAK], type [NUL] and then "-" (minus sign).
    To get (CONTROL)<char>, type (EDIT)<char>; that is, hold down
		(EDIT) while typing <char>.
    To get (META)<char>, type (EDIT)[NUL] and then <char>.
    To get (META)(CONTROL)<char>, type (EDIT)[NUL] and then (EDIT)<char>.

    To undo [ESC] or [BREAK], type [DEL].
    To undo (META), type [NUL] and then [DEL].

    To get [CLEAR], type the bottom unlabelled key at keyboard left, or [MR].
    To get [FORM], type [↑L].
    To get [BS], type [DEL].
    To get [CALL] (that is, two ↑C's), type [CALL].
    To get deferred [CALL] (that is, one ↑C), type (EDIT)[CALL].

    To suspend typeout, type [HOLD]; to resume typeout, type [HOLD] again.

    To flush all the output queues, type (EDIT)[CLEAR] (where [CLEAR] is
    the bottom unlabelled key at left, as above).  This flushes the
    wholine, user-program, piece-of-paper, line-editor and special queues
    for the DM and generates an INTFOP interrupt for any network server
    controlling the DM so that it can flush any output text in the network.

The three characters β≡∨ are hidden under the keys [CALL], [CLEAR], and
[HOLD], respectively.  To get one of the characters β≡∨, you must quote it
by preceding it with [NUL].  However, if you want (META) with the
character, then the quoting is automatic with the add-(META) command
(EDIT)[NUL].  Thus you cannot type (META)[CALL], (META)[CLEAR], or
(META)[HOLD] because you would get (META)β, (META)≡, or (META)∨ instead.

You must tell the system you are a DM by either typing the TTY DM command
or logging in with DM among your LOGIN options (if you have a DM with the
full Stanford character set, use the TTY DM128 command and DM128 option
instead).  The system will erase the DM screen and then set the DM's tab
stops while typing an initialization message at the top of the screen.  If
you have a DM terminal that lacks hardware tabs (all of the AI Lab's DMs
have them), then you should type TTY NO TABS (or have the NOTABS option);
in that mode each tab to be output will be converted to an equivalent
number of spaces, which will of course usually take longer to output than
just a tab.

When you log out of a directly dialed line, your terminal will "go
available" about five seconds later.  A beep is output to tell you when
this has happened--your screen will not be erased at that time.  You
should not hang up the phone until you hear this beep; otherwise, someone
else may call in right then and be able to see what was displayed on your
screen.  When your terminal is "available", you cannot type [ESC] or
(META) until you have typed some other character to initialize the
terminal.  Typing [ESC] or (META) to an uninitialized terminal will cause
the echoing of a beep with no other result.

If you do not get the initialization message when you first type a
character after dialing in, then you should immediately do a [BREAK] P
(i.e., the three characters [NUL] - P) to force it.  This will usually
show you the display screen of the previous user who probably hung up
before the terminal "went available".  If you don't type [BREAK] P in this
case, there is no guarantee of consistent output as your terminal may have
its cursor at some place other than where the system thinks it is.  If
[BREAK] P doesn't get you the initialization message but does erase and
redraw the screen, then type the monitor command TTY TABS (unless your DM
terminal doesn't have hardware tabs), followed by another [BREAK] P, which
should get you the message at the top of the screen.  If typeout screws up
after correct initialization, then either you are having phone line
trouble or there is a bug in the DM display service--the former is the
best guess.  If you get perfectly repeatable typeout screwups, then you
may have found a display service bug and you should report to ME exactly
what you did to cause it.  You should also verify that it happens on more
than one phone line.  If it only happens on one phone line and happens
every time you get that phone line (same TTY line number each time),
then you should report the phone line trouble to a hardware wizard at the
Lab.


Notes:

The user job part of the wholine is only updated when it has changed.

The don't-allow-beeps command [BREAK] B is not valid from DMs as they have
no audio switch selection to preserve.  You can however turn your beeper's
volume up or down on the back of the keyboard.  Put your terminal into
local mode by disabling FULL DUPLEX and type CTRL-G to make it beep to
adjust the volume.  Be sure to restore FULL DUPLEX when done.

Dpy programs (UPGIOT UUO) now run on DMs--see the UUO Manual.

While you are holding (even if HOLDING message does not appear), your line
editor will appear on the HOLDING message line (3rd line of screen).

Two new escape commands are now available to DM users for suppressing user
program display output outside of a specified range of columns on the
display.  [ESC] m < (where m is decimal) suppresses all user display
output to the left of column m, and [ESC] n > (n decimal) suppresses all
user display output to the right of column m.  The only type of output
these commands affect is user program output generated by the UPGIOT UUO
(i.e., display program output), and even then it does not affect output in
insert/delete mode nor does it affect output of CRs and LFs.

Note that [ESC] 5 < (for example) will suppress output to the left of
column 5 and therefore whatever text already appears in columns 1 to 4
will (normally) not be erased even when new text appears starting in
column 5.  However, after an [ESC] 40 > (for example) old text in columns
41 to 80 will usually be erased by new text at or before column 40 since
output of actual text usually causes the rest of the line to be erased
(except when this erase-to-end-of-line feature is inhibited).  Also, if,
for example, [ESC] 20 < and [ESC] 10 > are given, all output is suppressed
except for CRs and LFs and the line erases.

Thus these commands can be used to speed up displaying by E, WHO and other
display programs by suppressing unneeded output.

[ESC] < resets the left DM margin to zero and [ESC] > resets the right DM
margin to infinity.  [ESC] N resets both margins, as does a RESET or
DPYCLR UUO.  [BREAK] > sets the right margin to 0, thus suppressing all
text.

Two new login options are available for your OPTION.TXT file.  These are
useful if you login remotely sometimes on a Datamedia (DM) and sometimes
not.  The new options are FDM and FDM128 (Fast DM options).  With either
of these, LOGIN will tell the system that your terminal is a DM if and
only if you are on one of the high-speed dialup lines (TTYs 0 through 5).
The FDM128 option will also tell the system that your DM can display all
128 Stanford characters (provided you are on a high-speed dialup line).
Like the options DM and DM128, these options take an optional following
argument to specify the number of lines your (simulated) DM has on its
screen, with the form being FDM=30 or FDM128=30 (for 30 lines).
Use of the DM 3025 modified with the WAITS keyboard


Connect the keyboard cable to the KEYBOARD jack on the back of the
terminal, plug the power cord in, and turn on the terminal.  The CRT
takes about 30 seconds to warm up.

Before you try to use the terminal, make sure that the rectangular
pushbutton switches on the right side of the monitor are in the proper
positions.  The switches labelled REMOTE, DUPLEX and EIA should all be
depressed; all the other switches on the right side should be out.  (The
red RESET button can be used to reset the terminal to its initial power-up
condition.  See below.)  If you want to temporarily put the terminal in
Local mode, for instance, so that you can adjust the beeper's loudness,
let out the REMOTE switch; push it back in again for talking to the
computer.  The TAPE switch makes all the control commands simply be
displayed as graphic characters instead of having their designated
functions executed; this switch should be out for normal operation.

Now, make sure the SAIL-LOCK key is down.  That makes the keyboard act
almost exactly like the DD/III keyboards at the Lab.  If you want an
ASCII-type keyboard (say, to use some other system), let the SAIL-LOCK
key up; that turns the CONTROL key into an ASCII-Control key and the
META key into an EDIT key (setting the parity bit).  In ASCII mode
(SAIL LOCK key up), the BS key generates a ↑H, which is the ASCII
backspace, instead of rubout (the WAITS backspace).  To generate a
rubout (a delete) while in ASCII mode, type the DEL key on the keypad
at the right.  The main other keys affected by ASCII mode are BREAK
(in ASCII mode, puts the line in the space condition, which may make
the remote modem hang up) and ESC (in ASCII mode, generates octal 033,
which is an ASCII escape (altmode)).  The PF keys transmit nothing in
ASCII mode.  The three keys at the top of the keypad at right,
labelled ↑A, NULL, HOLD, transmit ↑A, Null and ↑D only in ASCII mode,
for use with TENEX and TOPS-20 systems -- these are PF keys when in
SAIL mode.  The ALTMODE key always transmits 033, the ASCII escape.

Make sure you have the speeds set properly for the way you are going to
use the terminal and make sure that you are in Parity Mark mode.  To check
these, press the Baud Set key and observe the display at the bottom of the
screen (this same display is also presented when the terminal is turned on
and when the red RESET button is pressed, although in those cases you are
not in Baud Set mode).  After you have pressed Baud Set, the cursor
appears below the display of the current settings and you can change any
of those items displayed.  If you don't want to change anything, type just
RETURN.  To set the Transmit speed to, say, 150 baud, type "T 150" and
RETURN.  If your new speed (or parity handling) is accepted by the
terminal's microprocessor program, the baud display will reflect the new
setting, but whether it takes it or not, you're still in Baud Set mode
until you type an extra RETURN (i.e., a RETURN with a blank input line).
In the baud/parity setting commands, you can actually type any character
except RETURN instead of the space that is shown in the example "T 150".
For instance, the easiest thing to type is "TT150" (doubling the selecting
character "T").  However, you MUST type the (first) "T" in upper case --
lower case "t" WILL NOT WORK!  If you make a mistake in entering a
baud/parity setting, type RETURN and then the command again (you don't
need to type BAUD SET again unless the baud display has gone away).  Use
"R" instead of "T" to set the Receive speed and use "L" (for Line) to set
both the receive speed and the transmit speed to the same value.  Use "P"
to set the Print speed (you'll probably never care about that).  Use
"X M" to enable keyboard control of the parity bit (M for Mark); you
can also have parity Space mode ("X S") or Even ("X E") or Odd ("X O")
parity, but you'll need Mark mode ("X M") to use the WAITS display
service with the CONTROL and META keys with the keyboard in SAIL mode.

When you have finished setting the speeds and parity the way you want,
type an extra RETURN to get out of the Baud Set mode; the speed display
will disappear and the cursor will go back to wherever it came from when
you typed Baud Set.  There are bit switches inside the terminal that
determine the default speeds and parity handling; those switches can be
changed if they are not already properly set -- see the white Datamedia
"Operator's Handbook" and/or the data sheet from Product Associates that
come with the terminal.  Note that turning the terminal on or pushing the
red RESET button returns the speed and parity settings to their defaults.

If you are going to call up the computer by phone, connect the phone jack
from the wire in back to the telephone line and connect the short cable
coming out of the back to the LINE jack on the back of the terminal.  If
your phone has the new small modular jacks and plugs, then you will need
to buy a modular to 4-prong adaptor and a 4-prong to modular adaptor in
order to insert the terminal's 4-prong connector in the middle of your
phone line.  If your phone outlet already has a 4-prong jack, then just
plug the terminal's connector into that and the phone into the other side
of the terminal's connector.  (Some of the 3025s already have modular
connectors on them instead of 4-prong connectors.)

The following paragraph applies only if your terminal has a Product
Associates dual-speed modem.  Most of SAIL's 3025s now have UDS
modems, which only work at 1200/150 baud and which therefore only
have one pushbutton.

  If you are going to use a high-speed split 150/1200 baud line, then
  depress the righthand round pushbutton on the left side of the
  monitor (the switch labelled 150-1200/300-300) to select the
  150/1200 baud modem.  If you are going to use a 110, 150 or 300 baud
  line, then release the 150-1200/300-300 switch.

Now make sure that the other round pushbutton (lefthand or only one) is
in the out position (this is the switch labelled LINE), so that you can
dial the phone (releasing this switch disconnects the modem from the
phone).  Dial the computer and when you hear the carrier, push in the LINE
switch to engage the modem; at this point you should hear a second carrier
(from the terminal's modem) and you can hang up the phone handset.
Now you are ready to talk to the system.  NOTE: After you finish using
the system, be sure to release the LINE switch so that the modem will
be disconnected from your phone -- otherwise you won't be able to use
the phone for normal calls.

To tell the WAITS system what kind of terminal you have, give the command
	TTY DMWAITS
(the command TTY DM is NOT sufficient, although most things will seem to
work that way -- use TTY DMWAITS instead, abbreviated TT DMW).

If you want LOGIN to automatically tell the system that you're on a
WAITS DM, use either DISPLAY=DMWAITS or FDISPLAY=DMWAITS in the LOGIN:
line in your OPTION.TXT file.  The FDISPLAY version (note the leading
"F") will take effect only when you dial up on a Fast (1200/150) phone
line.  The DISPLAY version (no leading "F" in this name) will take
effect any time you log in (except when you are obviously on a Data
Disc or III).  The "F" version should be used if you often use a
terminal other than a DMWAITS, a DD, or a III.  READ DISPLAY for more
details on login display options.

Once the system knows you are using a WAITS DM, you can use the keyboard
pretty much just like you were using a DD/III keyboard at the Lab.  Only
the SHIFT LOCK key is in a different place.  The WAITS DM keyboard has a
REPEAT key (REPT) next to the ALTMODE key for repeatedly typing a
character.  On the keypad at right, the DEL key transmits a rubout (the
WAITS backspace character, otherwise called delete) and the keys 0 through
9 provide a calculator-like numeric keypad, with an adjacent "." key for
floating point numbers (whopee!).

To get the special DM function of flushing the DM output queues (for
instance, to flush the redrawing of the page printer or to flush a useless
DIRED display going on), type the PF1 key.  

The PFnn keys all transmit escape sequences ESC nn CR.  These keys include
the blank keys (PF0 and PF11) next to PF1 and PF10 and the 9 keys at the
top of the righthand pad (labelled A through I (or ↑A, NULL, HOLD and D
through I) and representing PF12 through PF20).  Some of these keys (5
through 20) can be defined in WAITS as top-level system macros to simulate
typing any strings you want; READ MACROS for details.

You can hold and unhold page printer typeout just like on DD/III
keyboards: use CONTROL-BREAK to hold and CONTROL-CLEAR to unhold.

To get a deferred CALL, type CONTROL-CALL, again just like on a DD/III.
(Don't use CONTROL-META-CALL or META-CALL.)

If you neither type anything nor receive any characters from the computer
for about 38 minutes, the display will turn off to avoid burning the
screen.  Type the DISPLAY ON key to bring the display back without
transmitting anything to or from the computer.  The display will come back
on automatically if anything arrives from the computer or if you type
anything at all.

While you are using the terminal, you will probably notice occasional
flicker of individual scanlines of the display while output is going
to the terminal from the computer.  This is normal and results from the
microprocessor not being quite fast enough to keep up with everything.
Use of DMs via TIPs


DM display service is now available via TIPs.  It's most useful from
150/1200 baud ports (available on both SU-TIP and AMES-TIP) or faster, but
should work from 110-300 baud ports (and other TIPs as well).

When you tell the SU-AI system that you are on a DM (step 4 below), the
system will tell the TIP to do a @B[inary] I[nput] S[tart] command so that
the EDIT-key bit and NULLs will be transmitted whenever you type them.
While you are in Binary Input mode, you won't be able to give any commands
to the TIP, since EVERYTHING you type will be passed straight through to
SU-AI.  To get out of Binary Input mode, see step (7c) below.


Here are the steps to follow (text to be typed in that is shown in
brackets is optional):

(1) Dial up a TIP port.  SU-TIP telephone numbers are found in
TIP.BPM[UP,DOC].  Ask BPM for the telephone numbers of the AMES-TIP or
TIPs outside the Bay Area.

(2) If you have dialed a nonhunting port (e.g., 150/1200 baud), reset the
port to its standard configuration by typing

	@R[eset]<cr>

If you have dialed a hunting port (e.g., 110-300 baud), type in the
appropriate hunt character (e.g., "E").  In either case the TIP should
type back its name, TIP software version number, and port number, e.g.,

	SU TIP 420 #: 10

(If the TIP echoes "@R", but doesn't print its herald string, then you
probably need to type

	@I[nsert] L[inefeed]<lf>

to allow TIP commands to be terminated with just a carriage return.)

(3)  Open a connection to SU-AI with

	@O[pen] 11<cr>

(4)  Finally tell SU-AI that you are a DM with

	.TTY DM<cr>

If all of your remote logins are from DMs, you can avoid having to do this
step by including the "DM" LOGIN option in your OPTION.TXT file.

(5) Login and use the system as you normally would with a directly dialed
DM.

(6) Logout as usual.

(7a) Hit BREAK for a few seconds to break the connection.  Then hang up
the telephone.  This resets the TIP port, including the flushing of
Eight-Bit Binary Mode.

	OR

(7b) Wait one minute without doing anything (having already logged out).
The TELNET server will put the DM back into scroll mode, then will close
the connection.  This allows you to use the TIP to talk to another ARPAnet
site (closing the connection automatically turns off binary mode).

	OR

(7c) Type

	.TTY NO DM<cr>

This will make SU-AI no longer treat you as if you are on a DM, and as a
result the TIP will be instructed to disable Binary Input mode.  After
this you can once again give commands to the TIP, for instance to close
the connection and maybe connect to another ARPAnet host.  Step (7c)
can be used at any time while you are talking to SU-AI, even if you are
still logged in.  This is useful if, for instance, you want to give
some TIP command (which you cannot do while in Binary Input mode).


In summary, here is the normal sequence of commands you should type
between dialing up the TIP and logging in to SU-AI:

	@R	(or just "E" on a hunting port)
	@O 11
	.TTY DM

The entire TIP command language is documented in the "User's Guide to the
Terminal IMP" by BBN, which is found in TIPUG.BBN[UP,DOC].
Use of DMs from TENEX/TOPS20 Hosts


GFF has hacked up a version of NTELNET (a version of TELNET which uses the
New Telnet protocol, now called TELNET at SRI and ISI sites, also
available at SUMEX-AIM) that allows one to use AI Lab Datamedia display
service over the ARPAnet from TENEX or TOPS20 sites.  All one must do is
enter Transparent Mode within NTELNET (analogous to Eight-Bit Binary Mode
on TIPs).

If your DM is actually running at a baud rate higher than 1200, you 
will probably need to tell the SU-AI system the baud rate so that
the proper amount of padding can be inserted (for DM 2500s).  The
command to do this is
	.TTY PADBAUD nnnn
where nnnn can be any decimal value up to 25500 or so.
Use of DMs from ITS Hosts


The best way to be a display at SAIL from an ITS host is to use one of
their TV's and use the SUPDUP program to telnet to here.  This uses the
SUPDUP protocol, and allows you to use their TV keyboards like a funny
kind of Stanford keyboard (ie, CONTROL, META, CALL, etc. work).  The way
to SUPDUP to SAIL is by typing SAIL<CONTROL>K.

Internally, the SUPDUP server here at SAIL makes the network terminal a
Datamedia with the full character set, and does all the mappings between
the SUPDUP and Datamedia protocols; so if you are visiting MIT you can use
it without knowing anything about Datamedias.

To use a physical Datamedia from an ITS host, tell ITS you are a Datamedia
with the :TCTYP DATAMEDIA<CR> command.  Then, TELNET to SAIL and give the
"D" command to turn on the Datamedia simulator in TELNET.  The only way to
send the EDIT key is by using the "↑" command to TELNET--this is because
their line scanners only know about 7-bit characters (sigh).